home *** CD-ROM | disk | FTP | other *** search
- Path: bloom-beacon.mit.edu!hookup!swrinde!cs.utexas.edu!math.ohio-state.edu!hobbes.physics.uiowa.edu!news.uiowa.edu!news
- From: jones@cs.uiowa.edu (Douglas W. Jones)
- Newsgroups: alt.sys.pdp8,alt.answers,news.answers
- Subject: PDP-8 Frequently Asked Questions (posted every other month)
- Followup-To: alt.sys.pdp8
- Date: 8 Apr 94 08:08:08 GMT
- Organization: Computer Science, University of Iowa, Iowa City, Iowa, USA
- Lines: 1015
- Approved: news-answers-request@MIT.Edu
- Distribution: world
- Expires: 8 Jun 1994 08:08:08 GMT
- Message-ID: <2o3m01$hnu@nexus.uiowa.edu>
- NNTP-Posting-Host: pyrite.cs.uiowa.edu
- Summary: Answers to common questions about antique DEC PDP-8 computers.
- Those posting to alt.sys.pdp8 should read this.
- Keywords: FAQ DEC PDP 8
- Xref: bloom-beacon.mit.edu alt.sys.pdp8:744 alt.answers:2364 news.answers:17829
-
- Archive-name: dec-faq/pdp8
- Last-modified: Apr 7, 1994
-
- This version of the alt.sys.pdp8 FAQ has been modified to conform to
- RFC1153 USENET digest format (with exceptions due to the fact that it
- is not really a digest). This should aid in automatic conversion of
- this material to HTML and other interesting formats.
-
- Contents:
-
- What is this FAQ?
- What is a PDP?
- What is a PDP-8?
- What is the PDP-8 instruction set?
- What does PDP-8 assembly language look like?
- What character sets does the PDP-8 support?
- What different PDP-8 models were made?
- What about the LINC-8 and PDP-12?
- Where can I get a PDP-8 today?
- Where can I get PDP-8 documentation?
- What operating systems were written for the PDP-8?
- What programming languages were supported on the PDP-8?
- Where can I get PDP-8 software?
- Where can I get additional information?
- What use is a PDP-8 today?
- Who's Who?
-
- ----------------------------------------------------------------------
-
- Subject: What is this FAQ?
-
- Frequently Asked Questions about the DEC PDP-8 computer.
-
- By Douglas Jones, jones@cs.uiowa.edu
- (with help from many folks)
-
- The most recent version of this file is available by anonymous FTP from:
-
- ftp://rtfm.mit.edu/pub/usenet/alt.sys.pdp8
- ftp://sunsite.unc.edu/pub/academic/computer-science/history/pdp-8/docs
-
- An obsolete version of this file is available on the Walnut Creek CDrom.
-
- ------------------------------
-
- Subject: What is a PDP?
-
- In 1957, Ken Olson and Harlan Anderson founded Digital Equipment
- Corporation (DEC), capitalized at $100,000, and 70% owned by American
- Research and Development Corporation. The founders wanted to call the
- company Digital Computer Corporation, but the venture capitalists
- insisted that they avoid the term Computer and hold off on building
- computers. With facilities in an old woolen mill in Maynard
- Massachusetts, DEC's first product was a line of transistorized digital
- "systems modules", plug-in circuit boards with a few logic gates per
- board. Starting in 1960, DEC finally began to sell computers (the
- formal acceptance of the first PDP-1 by BBN is reported in Computers
- and Automation, April 1961, page 8B). Soon after this, there were
- enough users that DECUS, the Digital Equipment Computer User's Society
- was founded.
-
- DEC's first computer, the PDP-1, sold for only $120,000 at a time when
- other computers sold for over $1,000,000. (A good photo of a PDP-1 is
- printed in Computers and Automation, Dec. 1961, page 27). DEC quoted
- prices as low as $85,000 for minimal models. The venture capitalist's
- insistance on avoiding the term computer was based on the stereotype
- that computers were big and expensive, needing a computer center and a
- large staff; by using the term Programmable Data Processor, or PDP, DEC
- avoided this stereotype. For over a decade, all digital computers sold
- by DEC were called PDPs. (In early DEC documentation, plural form
- "PDPs" is used as a generic term for all DEC computers.)
-
- In the early 1960's, DEC was the only manufacturer of large computers
- without a leasing plan. IBM, Burroughs, CDC and other computer
- manufacturers leased most of their machines, and many machines were
- never offered for outright sale. DEC's cash sales approach led to the
- growth of third party computer leasing companies such as DELOS, a
- spinoff of BB&N.
-
- DEC built a number of different computers under the PDP label, with a
- huge range of price and performance. The largest of these are fully
- worthy of large computer centers with big support staffs. Many early
- DEC computers were not really built by DEC. With the PDP-3 and LINC,
- for example, customers built the machines using DEC parts and
- facilities. Here is the list of PDP computers:
-
- MODEL DATE PRICE BITS COMMENTS
- ===== ==== ======== ==== =====
- PDP-1 1960 $120,000 18 DEC's first computer
- PDP-2 NA 24 Never built?
- PDP-3 NA 36 One built by a customer, not by DEC.
- PDP-4 1962 $60,000 18 Predecessor of the PDP-7.
- PDP-5 1963 $27,000 12 The ancestor of the PDP-8.
- PDP-6 1964 $300,000 36 A big computer; 23 built, most for MIT.
- PDP-7 1965 $72,000 18 Widely used for real-time control.
- PDP-8 1965 $18,500 12 The smallest and least expensive PDP.
- PDP-9 1966 $35,000 18 An upgrade of the PDP-7.
- PDP-10 1967 $110,000 36 A PDP-6 followup, great for timesharing.
- PDP-11 1970 $10,800 16 DEC's first and only 16 bit computer.
- PDP-12 1969 $27,900 12 A PDP-8 relative.
- PDP-13 NA Bad luck, there was no such machine.
- PDP-14 A ROM-based programmable controller.
- PDP-15 1970 $16,500 18 A TTL upgrade of the PDP-9.
- PDP-16 1972 NA 8/16 A register-transfer module system.
-
- Corrections and additions to this list are welcome! The prices given
- are for minimal systems in the year the machine was first introduced.
- The bits column indicates the word size. Note that the DEC PDP-10
- became the DECSYSTEM-20 as a result of marketing considerations, and
- DEC's VAX series of machines began as the Virtual Address eXtension of
- the never-produced PDP-11/78.
-
- It is worth mentioning that it is generally accepted that the Data
- General Nova (see photo, Computers and Automation, Nov. 1968, page 48)
- was originally developed as the PDP-X, a 16-bit multi-register version
- of the PDP-8. A prototype PDP-X was built at DEC before the design was
- rejected. This and a competing 16-bit design were apparently submitted
- to Harold McFarland at Carnegie-Mellon University for evaluation;
- McFarland (and perhaps Gordon Bell, who was at C-MU at the time)
- evaluated the competing designs and rejected both in favor of what we
- know as the PDP-11. One speculative explanation for Bell's rejection
- of the design that became the Nova is that the competing proposal was
- submitted using register-transfer notation, a notation he had introduced
- in "Bell and Newell, Computer Structures -- Readings and Examples".
- An alternate version of the story is that the reason that DEC never
- produced a PDP-13 was because the number 13 was assigned to what became
- the Nova; this is unlikely because the PDP-X prototype came before the
- PDP-11. Both DEC and Data General are quiet about these stories.
-
- Today, all of the PDP machines are in DEC's corporate past, with the
- exception of the PDP-11 family of mini and microcomputers.
-
- Of course, occasionally, some lab builds a machine out of DEC hardware
- and calls it a PDP with a new number. For example, the Australian
- Atomic Energy Commission once upgraded a PDP-7 by adding a PDP-15 on
- the side; they called the result a PDP-22.
-
- ------------------------------
-
- Subject: What is a PDP-8?
-
- The PDP-8 family of minicomputers were built by Digital Equipment
- Corporation between 1965 and 1990, although it is worth noting that the
- term minicomputer first came into prominence in early 1968 (See the
- Interdata ad in Computers and Automation, May 1968, page 10). The PDP-8
- was largely upward compatable with the PDP-5, a machine that was
- unveiled on August 11, 1963 at WESCON, and the inspiration for that
- machine came from two earlier machines, the LINC and the CDC 160. All
- of these machines were characterized by a 12 bit word with no hardware
- byte structure, a 4K minimum memory configuration, and simple but
- powerful instruction sets.
-
- Although some people consider the CDC 160 the first minicomputer, the
- PDP-8 was the definitive minicomputer. By late 1973, the PDP-8 family
- was the best selling computer in the world, and it is likely that it was
- only displaced from this honor by the Apple II (which was displaced by
- the IBM PC). Most models of the PDP-8 set new records as the least
- expensive computer on the market at the time of their introduction.
- The PDP-8 has been described as the model-T of the computer industry
- because it was the first computer to be mass produced at a cost that
- just about anyone could afford.
-
- C. Gordon Bell has said that the basic idea of the PDP-8 was not really
- original with him. He gives credit to Seymour Cray (of CDC and later
- Cray) for the idea of a single-accumulator 12 bit minicomputer. Cray's
- CDC 160 family (see CACM, march 1961, photo on page 244, text on page
- 246) was such a machine, and in addition to the hundreds of CDC 160
- systems sold as stand-alone machines, a derivative 12 bit architecture
- was used for the I/O processors on Cray's first great supercomputer,
- the CDC 6600.
-
- Note that Cray's 12 bit machines had 6 basic addressing modes with
- variable length instruction words and other features that were far from
- the simple elegance of the PDP-8. Despite its many modes, the CDC
- architecture lacked the notion of current page addressing, and the
- result is that, for examples that don't involve indexing, PDP-8 code is
- generally as tight as the code on Cray's machines.
-
- ------------------------------
-
- Subject: What is the PDP-8 instruction set?
-
- The PDP-8 word size is 12 bits, and the basic memory is 4K words. The
- minimal CPU contained the following registers:
-
- PC - the program counter, 12 bits.
- AC - the accumulator, 12 bits.
- L - the link, 1 bit, commonly prefixed to AC as <L,AC>.
-
- It is worth noting that many operations such as procedure linkage and
- indexing, which are usually thought of as involving registers, are done
- with memory on the PDP-8 family.
-
- Instruction words are organized as follows:
- _ _ _ _ _ _ _ _ _ _ _ _
- |_|_|_|_|_|_|_|_|_|_|_|_|
- | | | | |
- | op |i|z| addr |
-
- op - the opcode.
- i - the indirect bit (0 = direct, 1 = indirect).
- z - the page bit (0 = page zero, 1 = current page).
- addr - the word in page.
-
- The top 5 bits of the 12 bit program counter give the current page, and
- memory addressing is also complicated by the fact that absolute memory
- locations 8 through 15 are incremented prior to use when used as indirect
- addresses. These locations are called auto-index registers (despite the
- fact that they are in memory); they allow the formulation of very tightly
- coded array operations.
-
- The basic instructions are:
-
- 000 - AND - and operand with AC.
- 001 - TAD - add operand to <L,AC> (a 13 bit value).
- 010 - ISZ - increment operand and skip if result is zero.
- 011 - DCA - deposit AC in memory and clear AC.
- 100 - JMS - jump to subroutine.
- 101 - JMP - jump.
- 110 - IOT - input/output transfer.
- 111 - OPR - microcoded operations.
-
- The ISZ and other skip instructions conditionally skip the next
- instruction in sequence. The ISZ is commonly used to increment a loop
- counter and skip if done, and it is also used as an general increment
- instruction, either followed by a no-op or in contexts where it is known
- that the result will never be zero.
-
- The JMS instruction stores the return address in relative word zero of
- the subroutine, with execution starting with relative word one.
- Subroutine return is done with an indirect JMP through the return
- address. Subroutines commonly increment their return addresses to index
- through inline parameter lists or to perform conditional skips over
- instructions following the call.
-
- The IOT instruction has the following form:
- _ _ _ _ _ _ _ _ _ _ _ _
- |1|1|0|_|_|_|_|_|_|_|_|_|
- | | | |
- | | device | op |
-
- The IOT instruction specifies one of up to 8 operations on one of 64
- devices. Typically (but not universally), each bit of the op field
- evokes an operation, and these can be microcoded in left to right
- order. Prior to the PDP-8/E, there were severe restrictions on the
- interpretation of the op field.
-
- As an example of the use of IOT instructions, consider the console
- terminal interface. On early PDP-8 systems, this was always assumed to
- be an ASR 33 teletype, complete with low-speed paper tape reader and
- punch. It was addressed as devices 03 (the keyboard/reader) and 04
- (the teleprinter/punch):
- _ _ _ _ _ _ _ _ _ _ _ _
- |1|1|0|_|_|_|_|_|_|_|_|_|
- |0 0 0 0 1 1|0 0 1 - KSF - keyboard skip if flag
- |0 0 0 0 1 1|0 1 0 - KCC - keyboard clear flag
- |0 0 0 0 1 1|1 0 0 - KRS - keyboard read static
-
- The keyboard flag is set by the arrival of a character. The KCC
- instruction clears both the flag and the accumulator. KRS ors the 8 bit
- input data with the low order 8 bits of AC. The commonly used KRB
- instruction is the or of KCC and KRS. To await one byte of input, use
- KSF to poll the flag, then read it with KRB.
- _ _ _ _ _ _ _ _ _ _ _ _
- |1|1|0|_|_|_|_|_|_|_|_|_|
- |0 0 0 1 0 0|0 0 1 - TSF - teleprinter skip if flag
- |0 0 0 1 0 0|0 1 0 - TCF - teleprinter clear flag
- |0 0 0 1 0 0|1 0 0 - TPC - teleprinter print static
-
- The teleprinter flag is set by the completion of the TPC operation (as
- a result, on startup, many applications use TPC to print a null in order
- to get things going). TCF clears the flag, and TPC outputs the low
- order 8 bits of the accumulator. The commonly used TLS instruction is
- the or of TCF and TPC. To output a character, first use TSF to poll the
- flag, then write the character with TLS.
-
- IOT instructions may be used to initiate data break transfers from block
- devices such as disk or tape. The term "data break" was, for years,
- DEC's preferred term for cycle-stealing direct-memory-access data
- transfers.
-
- Some CPU functions are accessed only by IOT instructions. For example,
- interrupt enable and disable are IOT instructions:
- _ _ _ _ _ _ _ _ _ _ _ _
- |1|1|0|_|_|_|_|_|_|_|_|_|
- |0 0 0 0 0 0|0 0 1 - ION - interrupts turn on
- |0 0 0 0 0 0|0 1 0 - IOF - interrupts turn off
-
- An interrupt was requested when any device raised its flag. The console
- master clear switch would reset all flags and disable interrupts.
- Effectively, an interrupt is a JMS instruction to location zero, with
- the side effect of disabling interrupts. The interrupt service routine
- would test flags and perform the operations needed to reset them, and
- then return using ION immediately before the indirect return JMP. The
- effect of ION is delayed so that interrupts are not enabled until after
- the JMP.
-
- The instructions controlling the optional memory management unit are
- also IOT instructions. This unit allows the program to address up to
- 23K of main memory by adding a 3 bit extension to the memory address.
- Two extensions are available, one for instruction fetch and direct
- addressing, the other for indirect addressing.
-
- A wide variety of operations are available through the OPR microcoded
- instructions:
- _ _ _ _ _ _ _ _ _ _ _ _
- Group 1 |1|1|1|0|_|_|_|_|_|_|_|_|
- 1 - CLA - clear AC
- 1 - CLL - clear the L bit
- 1 - CMA - ones complement AC
- 1 - CML - complement L bit
- 1 - IAC - increment <L,AC>
- 1 0 0 - RAR - rotate <L,AC> right
- 0 1 0 - RAL - rotate <L,AC> left
- 1 0 1 - RTR - rotate <L,AC> right twice
- 0 1 1 - RTL - rotate <L,AC> left twice
-
- In general, the above operations can be combined by oring the bit
- patterns for the desired operations into a single instruction. If none
- of the bits are set, the result is the NOP instruction. When these
- operations are combined, they operate top to bottom in the order shown
- above. The exception to this is that IAC cannot be combined with the
- rotate operations on some models, and attempts to combine rotate
- operations have different effects from one model to another (for example,
- on the PDP-8/E, the rotate code 001 means swap 6 bit bytes in the
- accumulator, while previous models took this to mean something like
- "shift neither left nor right 2 bits").
- _ _ _ _ _ _ _ _ _ _ _ _
- Group 2 |1|1|1|1|_|_|_|_|_|_|_|0|
- 1 0 - SMA - skip on AC < 0 \
- 1 0 - SZA - skip on AC = 0 > or group
- 1 0 - SNL - skip on L /= 0 /
- 0 0 0 1 - SKP - skip unconditionally
- 1 1 - SPA - skip on AC >= 0 \
- 1 1 - SNA - skip on AC /= 0 > and group
- 1 1 - SZL - skip on L = 0 /
- 1 - CLA - clear AC
- 1 - OSR - or switches with AC
- 1 - HLT - halt
-
- The above operations may be combined by oring them together, except that
- there are two distinct incompatible groups of skip instructions. When
- combined, SMA, SZA and SNL, skip if one or the other of the indicated
- conditions are true (logical or), while SPA, SNA and SZL skip if all of
- the indicated conditions are true (logical and). When combined, these
- operate top to bottom in the order shown; thus, the accumulator may be
- tested and then cleared. Setting the halt bit in a skip instruction is
- a crude but useful way to set a breakpoint for front-panel debugging.
- If none of the bits are set, the result is an alternative form of no-op.
-
- A third group of operate microinstructions (with a 1 in the least
- significant bit) deals with the optional extended arithmetic element to
- allow such things as hardware multiply and divide, 24 bit shift
- operations, and normalize. These operations involve an additional data
- register, MQ or multiplier quotient, and a small step count register.
- On the PDP-8/E and successors, MQ and the instructions for loading and
- storing it were always present, even when the EAE was absent, and the
- EAE was extended to provide a useful variety of 24 bit arithmetic
- operations.
-
- ------------------------------
-
- Subject: What does PDP-8 assembly language look like?
-
- There are many different assemblers for the PDP-8, but most use a
- compatable basic syntax; here is an example:
-
- START, CLA CLL / Clear everything
- TAD X / Load X
- AND I Y / And with the value pointed to by Y
- DCA X / Store in X
- HLT / Halt
-
- X, 1 / A variable
- Y, 7 / A pointer
-
- Note that labels are terminated by a comma, and comments are separated
- from the code by a slash. There are no fixed fields or column
- restrictions. The "CLA CLL" instruction on the first line is an example
- of the microcoding of two of the Group 1 operate instructions. CLA
- alone has the code 7200 (octal), while CLL has the code 7100; combining
- these as "CLA CLL" produces 7300. As a general rule, except when memory
- reference instructions are involved, the assembler simply ors together
- the values of all blank separated fields between the label and comment.
-
- Indirection is indicated by the special symbol I in the operand field,
- as in the third line of the example. The typical PDP-8 assembler has no
- explicit notation to distinguish between page zero and current page
- addresses. Instead, the assembler is expected to note the page holding
- the operand and automatically generate the appropriate mode. If the
- operand is neither in the current page nor page zero, some assemblers
- will raise an error, others will automatically generate an indirect
- pointer to the off-page operand (This feature should be avoided!).
-
- Note, in the final two lines of the example, that there is no "define
- constant" pseudo-operation. Instead, where a constant is to be
- assembled into memory, the constant takes the place of the op-code field.
-
- The PDP-8 has no immediate addressing mode, but most assemblers provide
- a notation to allow the programmer to ignore this lack:
-
- TAD (3) / add 3, from memory on the current page.
- TAD [5] / add 5, from memory on page zero.
- JMP I (LAB) / jump indirect through the address of LAB.
-
- Assemblers that support this automatically fill the end of each page
- with constants defined in this way that have been accumulated during the
- assembly of that page. Note that the variants "(3" and "[5" (with no
- closing parentheses) are usually allowed but the use of this sloppy form
- is discouraged. Furthermore, the widely used PAL8 assembler interprets
- "(3)+1" as being the same as "(3+1)".
-
- Arithmetic is allowed in operand fields and constant definitions, with
- expressions evaluated in strict left-to-right order, as:
-
- TAD X+1 / add the contents of the location after X.
- TAD (X-1) / add the address of the location before X.
-
- Other operators allowed included and (&), or (!), multiply (^) and divide
- (%), as well as a unary sign (+ or -). Unfortunately, one of the most
- widely used assemblers, PAL8, has trouble when unary operators are mixed
- with multiplication or division.
-
- Generally, only the first 6 characters of identifiers are significant
- and numeric constants are evaluated in octal.
-
- Other assembly language features are illustrated below:
-
- / Comments may stand on lines by themselves
- / Blank lines are allowed
-
- *200 / Set the assembly origin to 200 (octal)
-
- NL0002= CLA CLL CML RTL / Define new opcode NL0002.
-
- NL0002 / Use new opcode (load 0002 in AC)
- JMP .-1 / Jump to the previous instruction
-
- X1= 10 / Define X1 (an auto-index register address)
-
- TAD I X1 / Use autoindex register 1
-
- IAC; RAL / Multiple instructions on one line
-
- $ / End of assembly
-
- The assembly file ends with a line containing a $ (dollar sign) not in
- a comment field.
-
- The $, * and = syntax used by most PDP-8 assemblers replace functions
- performed by pseudo-operations on many other assemblers. In addition,
- PAL8, the most widely used PDP-8 assembler supports the following
- pseudo-operations:
-
- DECIMAL / Interpret numeric constants in base 10
- OCTAL / Interpret numeric constants in base 8
- EJECT / Force a page eject in the listing
- XLIST / toggle listing
- PAGE / Advance location counter to next page
- FIELD N / Assemble into extended memory field N
- TEXT STRING / Pack STRING into consecutive 6 bit bytes
- ZBLOCK N / Allocate N words, initialized to zero
- IFDEF S <C> / Assemble C if symbol S is defined
- IFNDEF S <C> / Assemble C if symbol S is not defined
- IFZERO E <C> / Assemble C if expression E is zero
- IFNZRO E <C> / Assemble C if expression E is not zero
-
- Conditonally assembled code must be enclosed in angle brackets. The
- enclosed code may extend over multiple lines.
-
- ------------------------------
-
- Subject: What character sets does the PDP-8 support?
-
- With its 12 bit word, the PDP-8 is somewhat awkward in its support for
- modern 7 and 8 bit character sets. Nonetheless, from the beginning,
- PDP-8 software has generally assumed that text I/O would be in 7 bit
- ASCII. Most early PDP-8 systems used teletypes as console terminals;
- as sold by DEC, these were configured for mark parity, so most older
- software assumes 7 bit ASCII, upper case only, with the 8th bit set to
- 1. On output, lines are generally terminated with both CR and LF; on
- input, CR is typically (but not always) the line terminator and LF is
- typically ignored. In addition, the tab character (HT) is generally
- interpreted in terms of a tab-stop every 8 spaces.
-
- Most of the better engineered PDP-8 software tends to fold upper and
- lower case on input, and it ignores the setting of the 8th bit. Older
- PDP-8 software will generally fail when presented with lower case
- textual input (this includes essentially all OS/8 products prior to
- OS/278 V1).
-
- Internally, PDP-8 programmers are free to use other character sets, but
- the TEXT pseudo-operation strongly encourages the 6 bit character set
- called "stripped ASCII". To map from upper-case-only ASCII to stripped
- ASCII, each 8 bit character is anded with octal 77 and then packed 2
- characters per word, left to right. Many programs use a semi-standard
- scheme for packing mixed upper and lower case into 6 bit TEXT form;
- this uses ^ to flip from upper to lower case or lower to upper case,
- % to encode CR-LF pairs, and @ (octal 00) to mark end of string. Note
- that this scheme makes no provision for encoding the %, ^ and @
- characters, nor does it allow control characters other than the CR-LF
- pair. The P?S/8 operating system supports text files in this form.
-
- Files under the widely used OS/8 system consist of sequences of 256 word
- blocks. When used for text, each block holds 384 bytes, packed 3 bytes
- per pair of words as follows:
-
- aaaaaaaa ccccaaaaaaaa
- bbbbbbbb CCCCbbbbbbbb
- ccccCCCC
-
- Control Z is used as an end of file marker. Because most of the PDP-8
- system software was originally developed for paper tape, binary object
- code is typically stored in paper-tape image form using the above packing
- scheme.
-
- ------------------------------
-
- Subject: What different PDP-8 models were made?
-
- The total sales figure for the PDP-8 family is estimated at over 300,000
- machines. Over 7000 of these were sold prior to 1970. During the PDP-8
- production run, a number of models were made, as listed in the following
- table. Of these, the PDP-8/E is generally considered to be the
- definitive machine. If the PDP-8 is considered to be the Model T of the
- computer industry, perhaps the PDP-8/E should be considered to be the
- industry's Model A.
-
- MODEL DATES SALES COST TECHNOLOGY REMARKS
-
- PDP-5 63-67 116 Transistor
- PDP-8 65-69 1450 $18,500 Transistor
- LINC-8 66-69 142 $38,500 Transistor
- PDP-8/S 66-70 1024 $10,000 Transistor Very slow
- PDP-8/I 68-71 3698 $12,800 TTL
- PDP-8/L 68-71 3902 $8,500 TTL Scaled down 8/I
- PDP-12 69-73? 3500? $27,900 TTL Followup to LINC-8
- PDP-8/E 70-78 >10K? $7,390 TTL MSI Omnibus
- PDP-8/F 72-78? >10K? <$7K TTL MSI Omnibus Based on 8/E CPU
- PDP-8/M 72-78? >10K? <$7K TTL MSI Omnibus OEM version of 8/F
- PDP-8/A 75-84? >10K? $1,317 TTL LSI Omnibus New CPU or 8/E CPU
- VT78 78-80 <$10K Intersil IM6100 Workstation
- DECmate I 80-84 Harris 6120 Workstation
- DECmate II 82-86 $1,435 Harris 6120 Workstation
- DECmate III 84-90 $2,695 Harris 6120 Workstation
- DECmate III+85-90 Harris 6120 Workstation
-
- Additional information is available in part two of this FAQ, where all
- known models of the PDP-8, along with variants, alternate marketing
- names, and other peculiarities are given.
-
- The last years of the PDP-8 family were dominated by the PDP-8 compatable
- microprocessor based VT78 and DECmate workstations. DEC also used the
- Intersil IM6100 microprocessors in many peripheral controllers for the
- PDP-11 and PDP-15. While all of the earlier PDP-8 systems were open
- architecture systems, the DECmates had closed architectures with an
- integrated console terminals and limited peripheral options.
-
- The following PDP-8 compatible or semi-compatible machines were made and
- sold by others; very little is known about many of these:
-
- MODEL DATE MAKER, NOTES
-
- MP-12 6? Fabritek (a surviving example runs FOCAL).
- TPA 68? Hungarian, a PDP-8/L clone, ran FOKAL
- Electrotechnica-100I ? Russian, a PDP-8/I? clone.
- Saratov-2 ? Russian, a slow clone, perhaps PDP-8/S
- Voronezh ? Russian, another PDP-8/? clone
- SPEAR u-LINC ? SPEAR, Inc, Waltham Mass (a LINC clone!)
- DCC-112 70-71 Digital Computer Controls
- DCC-112H 71 Digital Computer Controls
- 6100 Sampler 7? Intersil, their IM6100 promotional kit
- Intercept I 7? Intersil, based on IM6100
- Intercept Jr 7? Intersil, based on IM6100
- PCM-12 7? Pacific CyberMetrix, based on Intercept bus
- PCM-12A 7? Pacific CyberMetrix, fixed to clock at 4MHz
- SBC-8 84-88 CESI, Based on IM6120, SCSI bus
-
- ------------------------------
-
- Subject: What about the LINC/8 and PDP-12?
-
- Wesley Clark, then at Lincoln Labs, developed the LINC, or Laboratory
- INstrumentation Computer, as a personal laboratory computer in the
- early 1960's. He developed it in response to the needs of Mary Brazier,
- a neurophysiologist at MIT who needed better laboratory tools. Over 24
- LINC systems were built by customers before late 1964 when DEC began
- selling a commercial version (see Computers and Automation, Nov. 1964,
- page 43). By the time DEC introduced the LINC-8, 43 LINC systems had
- been installed (see Computers and Automation, Mar. 1966, page 34).
-
- When Lincoln Labs decided that the LINC did not fit their mission, a
- group at the the National Institute of Health funded an experiment to
- see if the LINC would be a productive tool in the life sciences. As a
- result of this project, 12 LINCs were built and debugged, each by its
- eventual user.
-
- The LINC was the first 12 bit minicomputer built using DEC hardware.
- Like the PDP-5 and other early DEC computers, it was built with system
- modules, DEC's first family of logic modules. Along with the CDC 160,
- it paved the way for the PDP-5 and PDP-8.
-
- When compared with the PDP-8, the LINC instruction set was not as well
- suited for general purpose computation, but the common peripherals
- needed for lab work such as analog-to-digital and digital-to-analog
- converters were all bundled into the LINC system. Users judged it to
- be a superb laboratory instrument.
-
- One of the major innovations introduced with the LINC was the LINCtape.
- These tapes could be carelessly pocketed or dropped on the floor
- without fear of data loss, and they allowed random access to data
- blocks. DEC improved on this idea slightly to make their DECtape
- format, and DECtape was widely used with all DEC computers made in the
- late 1960's and early 1970's.
-
- The motives behind the development of LINCtape were the same motivives
- that led IBM to develop the floppy disk almost a decade later, and in
- fact, DECtape survived as a widely used medium until DEC introduced the
- RX01 8 inch floppy disk drive around 1975, and even after this, DECtape
- was only slowly phased out.
-
- Within a year of the introduction of the PDP-8, DEC released the LINC-8,
- a machine that combined a PDP-8 with a LINC in one package. The
- success of the LINC-8 led DEC to re-engineer the machine using TTL
- logic in the late 1960's; the new version was originally to be called
- the LINC-8/I, but it was sold as the PDP-12. Both the LINC-8 and the
- PDP-12 had impressive consoles, with separate sets of lights and
- switches for the LINC and PDP-8 halves.
-
- The success of the LINC-8 also led to the development of a clone, the
- SPEAR micro-LINC. This machine used Motorola MECL integrated circuits
- and was available for delivery in (June 1965? this date must be wrong!).
-
- The LINC-8 and PDP-12 could run essentially any PDP-8 or LINC program,
- but because they had instructions for switching between modes, a body
- of software was developed that required both modes.
-
- One feature of LINC and LINC-8 software is the common use of the graphic
- display for input-output. These machines were some of the first to
- include such a display as a standard component, and many programs used
- the knobs on the analog to digital converter to move a cursor on the
- display in the way we now use a mouse.
-
- LAP, the Linc Assembly Program, was the dominant assembler used on the
- LINC. WISAL (WISconson Assembly Language) or LAP6-W was the version of
- this assembler that survived to run on the PDP-12. Curiously, this
- includes a PDP-8 assembler written in LINC code.
-
- LAP6-DIAL (Display Interactive Assembly Language) evolved from this on
- the PDP-12 to became the dominant operating system for the PDP-12. The
- 8K version of this is DIAL MS (Mass Storage), even if it has only two
- LINCtape drives. These were eventually displaced by the OS/8 variant
- known as OS/12.
-
- ------------------------------
-
- Subject: Where can I get a PDP-8 today?
-
- The CESI machine may still be on the market, for a high price, but
- generally, you can't buy a new PDP-8 anymore. There are quite a few
- PDP-8 machines to be found in odd places on the used equipment market.
- They were widely incorporated into products such as computer controlled
- machine tools, X-ray diffraction machines, and other industrial and lab
- equipment. Many of them were sold under the EduSystem marketing
- program to public schools and universities, and others were used to
- control laboratory instrumentation. After about 1976, Reuters bought
- as many as 10,000 OMNIBUS based machines per year, with perhaps 2000 per
- year going to other customers.
-
- If you can't get real hardware, you can get emulators. Over the years,
- many PDP-8 emulators have been written; the best of these are
- indistinguishable from the real machine from a software prespective,
- and on a modern high-speed RISC platform, these frequently outperform
- the hardware they are emulating.
-
- Finally, you can always build your own. The textbook "The Art of
- Digital Design," second edition, by Franklin Prosser and David Winkel
- (Prentice-Hall, 1987, ISBN 0-13-046780-4) uses the design of a PDP-8 as
- a running example. Many students who have used this book were required
- to build working PDP-8 systems as lab projects.
-
- ------------------------------
-
- Subject: Where can I get PDP-8 documentation?
-
- Part II of this FAQ cites the key documents published by DEC describing
- each model of the PDP-8. These are all out of print, and DEC was in the
- habit of printing much of their documentation on newsprint with
- paperback bindings, which is to say, surviving copies tend to be yellow
- and brittle. DEC distributed huge numbers of catalogs and programming
- handbooks in this inexpensive paperback format, and these circulate
- widely on the second-hand market. When research laboratories and
- electronics shops are being cleaned out, it is still common to find a
- few dusty, yellowed copies of these books being thrown out.
-
- Douglas Jones has made a small number of bound photocopies of DEC's
- 1973 introduction to programming, perhaps the definitive introduction
- to the PDP-8, and the other early DEC handbooks need similar treatment
- before they all crumble.
-
- Maintenance manuals are harder to find, but more valuable. If you need
- one, you usually need to find someone willing to photocopy one of the
- few surviving copies. DEC has been friendly to collectors, granting
- fairly broad letters of permission to reprint obsolete documentation,
- and the network makes if fairly easy to find someone who has the
- documentation you need and can get copies.
-
- ------------------------------
-
- Subject: What operating systems were written for the PDP-8?
-
- A punched paper-tape library of stand-alone programs was commonly used
- with the smallest (diskless and tapeless) configurations from the
- beginning up through the mid 1970's. Many paper tapes from this library
- survive to the present at various sites! The minimum configuration
- expected by these tapes is a CPU with 4K memory, and a teletype ASR 33
- with paper tape reader and punch.
-
- The DECtape Library System was an early DECtape oriented save and restore
- system that allowed a reel of tape to hold a directory of named files
- that could be loaded and run on a 4K system. Eventually, this supported
- a very limited tape-based text editor for on-line program development.
- This did not use the DECtape's block addressable character; the software
- was based on minimal ports of the paper-tape based software described
- above.
-
- The 4K Disk Monitor System provided slightly better facilities. This
- supported on-line program development and it worked with any device that
- supported 129 word blocks (DECtape, the DF32 disk, or the RF08 disk).
-
- MS/8 or the R-L Monitor System, was developed starting in 1966 and
- submitted to DECUS in 1970. This was a disk oriented system, faster than
- the above, with tricks to make it run quickly on DECtape based systems.
-
- POLY BASIC was a BASIC only system submitted to DECUS and later sold by
- DEC as part of its EduSystem marketing program.
-
- P?S/8 was developed starting in 1971 from an MS/8 foundation. It runs
- on minimal PDP-8 configurations, supports somewhat device independant
- I/O and requires a random-access device for the file system (DECtape is
- random-access!). P?S/8 runs compatably on most PDP-8 machines including
- DECmates, excepting only the PDP-8/S and PDP-5. P?S/8 is still being
- developed!
-
- OS/8, developed in parallel with P?S/8, became the main PDP-8 programming
- environment sold by DEC. The minimum configuration required was 8K words
- and a random-access device to hold the system. For some devices, OS/8
- requires 12K. There are a large number of OS/8 versions that are not
- quite portable across various subsets of the PDP-8 family. OS/78 was
- developed from OS/8 to support the DECmate I, and OS/278 was developed
- for the later DECmate machines. These have unnecessary incompatabilities
- with earlier versions of OS/8 and with pre-Omnibus machines. There are
- also stories that DEC included code in either OS/8 or one of its
- predecessors to make it incompatable with the DCC-112.
-
- OS8 (no slash) may still be viable. It requires 8K of main memory, an
- extended arithmetic unit, and DECtape hardware. Unlike most PDP-8
- operating systems, it uses a directory structure on DECtape compatable
- with that used on the PDP-10.
-
- TSS/8 was developed in 1968 as a timesharing system. It required a
- minimum of 12K words of memory and a swapping device. It was the
- standard operating system on the EduSystem 50 which was sold to many
- small colleges and large public school systems. Each user gets a
- virtual 4K PDP-8; many of the utilities users ran on these virtual
- machines were only slightly modified versions of utilities from the
- Disk Monitor System or paper-tape environments.
-
- Other timesharing systems developed for the PDP-8 include MULTI-8, ETOS,
- MULTOS, and OMNI-8; some of these required nonstandard memory management
- hardware. By the mid 1970's, some of these were true virtual machine
- operating systems in the same spirit as IBM's VM-370; they typically
- supported some version of OS/8 running on a 32K virtual PDP-8 assigned
- to each user. Some could support different user operating systems on
- each virtual machine, others supported addressing of more than 4K for
- data, but limited code to field zero of a process's virtual memory.
-
- CAPS-8 was a cassette based operating system supporting PAL and BASIC.
- There are OS/8 utilities to manipulate CAPS-8 cassettes, and the file
- format on cassette is compatible with a PDP-11 based system called
- CAPS-11.
-
- RTS/8 was a real-time system developed by DEC and shipped around 1978.
- This was developed from an earlier system, SRT8, dating back to around
- 1974. Curiously, for a system developed so late, paper-tape and DECtape
- were still supported by this system.
-
- WPS was DEC's word processing system, developed on the 8/E and widely
- used on the 1980's vintage machines with a special WPS keycaps replacing
- the standard keycaps on the keyboard. It was heavily promoted on the
- VT-78, and when the DECmates came out, DEC began to suppress knowledge
- that DECmates could run anything else. WPS-11 was a curious distributed
- system using a PDP-11 as a file server for a cluster of VT-78 WPS systems.
-
- COS-310, DEC's commercial operating system for the PDP-8, supported the
- DIBOL language. COS-310 was a derivative of MS/8 and OS/8, but with a
- new text file format. The file system is almost the same as OS/8, but
- dates are recorded differently, and a few applications can even run under
- both COS and OS/8. COS was the last operating system other than WPS
- promoted by DEC for the DECmates.
-
- ------------------------------
-
- Subject: What programming languages are supported on the PDP-8
-
- The PAL family of assembly languages, particularly PAL III and PAL8 are
- as close to a standard assembly language as can be found for the PDP-8.
- These produce absolute object code and there are versions of PAL for
- minimally configured machines, although these have sever symbol table
- limitations.
-
- MACRO-8 was DEC's first macro assembly language for the PDP-8, but it
- was rarely used outside the paper-tape environment. MACREL and SABR are
- assembly languages that produce relocatable output. SABR is the final
- pass for the ALICS II FORTRAN compiler, and MACREL was developed in
- (unfulfilled) anticipation of similar use. MACREL was heavily used by
- the DECmate group at DEC.
-
- There was also RALF, the relocatable assembler supporting RTPS FORTRAN,
- and FLAP, an absolute assembler derived from RALF. Both SABR and
- RALF/FALP are assemblers that handle their intended applications but
- have quirky and incompatible syntax.
-
- A subset of FORTRAN was supported on both the PDP-5 and the original
- PDP-8. Surviving documentation describes a DEC compiler from 1964 and
- a compiler written by Information Control Systems from 1968. The
- latter, ALICS II FORTRAN, was originally a paper tape based compiler,
- but it forms the basis of the OS/8 8K FORTRAN compiler, and was also
- adapted to the Disk Monitor System.
-
- RTPS FORTRAN required 8K and a floating point processor; it had real-time
- extensions and was a full implementation of FORTRAN IV (also known as
- ANSI FORTRAN 66). OS/8 F4 is RTPS FORTRAN stripped of the requirement
- for hardware floating point (if the hardware is missing, it uses
- software emulation).
-
- FOCAL, an interpretive language comparable to BASIC, was available on
- all models of the family, including the PDP-5 and PDP-8/S. Varsions of
- FOCAL run under PS/8, P?S/8 and other systems.
-
- Many versions of BASIC were also available, from DEC and other sources.
- DEC BASIC was widely used on PDP-8 systems sold under the EduSystem
- marketing program. A paper-tape version was available that ran in 4K,
- versions for OS/8 and TSS/8, an 8K stand-alone time-sharing version,
- and others.
-
- DIBOL was DEC's attempt at competing with COBOL in the commercial arena.
- It was originally implemented under MS/8 but most versions were sold to
- run under the COS operating system.
-
- Algol was available from a fairly early date.
-
- At least two Pascal compilers were developed for the PDP-8. One was a
- Pascal-S interpreter, written in assembler, the other was a Pascal-P
- compiler with a P-code interpreter written in assembler.
-
- At least two LISP interpreters were written for the PDP-8; one runs in
- 4K, the other can use up to 16K.
-
- POLY SNOBOL was a version of SNOBOL that was somewhere between
- Griswald's definitions of SNOBOL 3 and SNOBOL 4.
-
- TECO, the text editor, is available, and is also a general purpose
- language, and someone is working on a PDP-8 C. The story of TECO on the
- PDP-8 is convoluted. Russ Ham implemented TECO under his OS8 (without
- a slash) system. This version of TECO was pirated by the Oregon Museum
- of Science and Industry (OMSI), where the system was ported to PS/8.
- Richard Lary and Stan Rabinowitz made it more compatible with other
- versions of TECO, and the result of this work is the version distributed
- by DECUS. RT-11 TECO for the PDP-11 is a port of this code.
-
- ------------------------------
-
- Subject: Where can I get PDP-8 software?
-
- DECUS, the DEC User Society, is still alive and well, and their submission
- form still lists PAL8 and FOCAL as languages in which they accept
- submissions! The DECUS library is available on-line by anonymous FTP:
-
- ftp://acfcluster.nyu.edu/DECUS
-
- To quote the README file from the current on-line catalog, "Items from
- older DECUS Library catalogs are still also available (provided their
- media can still be read), but machine readable catalog information is
- not available for these." Direct questions by E-mail to
- INFORMATION@DECUS.ORG.
-
- The following anonymous FTP sites contain publically accessable archives
- of PDP-8 software and other information:
-
- ftp://ftp.telebit.com/pub/pdp8
- ftp://ftp.update.uu.se/pub/pdp8
- ftp://nickel.ucs.indiana.edu/pub/DEC/PDP8
- ftp://sunsite.unc.edu/pub/academic/computer-science/history/pdp-8
-
- The latter archive also maintains an archive of traffic in alt.sys.pdp8
- in the directory ...pdp8/usenet and an archive of traffic in the
- pdp8-lovers mailing list in .../pdp8/pdp8-lovers.
-
- The archive at Indiana contains source code for many PDP-8 compilers and
- interpreters, as well as common utilities and games.
-
- ------------------------------
-
- Subject: Where can I get additional information?
-
- The file WHAT-IS-A-PDP8, by Charles Lasner contains considerable
- additional information; this file is available by ftp from:
-
- ftp://ftp.telebit.com/pub/pdp8/WHAT-IS-A-PDP8
-
- This file gives details of every PDP-8 model including the small quirks
- and incompatabilities that (to be generous) allow software to determine
- which model it is running on. These quirks also make it all too easy
- for careless programmers to write almost portable software with very
- obscure bugs.
-
- The mailing list pdp8-lovers@ai.mit.edu reaches a number of PDP-8 owners
- and users, not all of whom have USENET feeds. The USENET newsgroup
- alt.sys.pdp8 needs to be gatewayed to this mailing list.
-
- Many "archival" books have included fairly complete descriptions of the
- PDP-8; among them, "Computer Architecture, Readings and Examples" by
- Gordon Bell and Allen Newell is among the most accurate and complete
- (but difficult to read).
-
- ------------------------------
-
- Subject: What use is a PDP-8 today?
-
- What use is a Model T today? Collectors of both come in the same basic
- classes. First, there are antiquarians who keep an old one in the
- garage, polished and restored to new condition but hardly ever used.
- Once a year, they warm it up and use it, just to prove that it still
- works, but they don't make much practical use of it.
-
- PDP-8 systems maintained by antiquarians are frequently in beautiful
- shape. Antiquarians worry about dust, chipped paint, and missing
- switches, and they establish newsgroups and mailing lists to help them
- locate parts and the advice needed to fix their machines.
-
- In the second class are those who find old machines and soup them up,
- replacing major parts to make a hotrod that only looks like the original
- from the outside, or keeping the old mechanism and putting it to uses
- that were never intended. Some PDP-8 owners, for example, have built
- PDP-8 systems with modern SCSI disk interfaces! There is serious
- interest in some quarters in constructing an omnibus board that would
- support an IDE disk of the variety that was mass-produced for the
- IBM PC/AT.
-
- Last, there are the old folks who still use their old machines for their
- intended purposes long after any sane economic analysis would recommend
- such use. If it ain't broke, don't fix it, and if it can be fixed,
- why bother replacing it? Both Model T Fords and the classic PDP-8
- machines are simple enough that end users can maintain and repair them
- indefinitely. All you need to keep a vintage -8 running are a stock
- of inexpensive silicon diodes and a stock of 2N3639B or better,
- 2N3640 transistors.
-
- Unlike most modern personal computers, PDP-8 systems were routinely sold
- with complete maintenance manuals; these included schematic diagrams,
- explanations of not only how to use the devices, but how they are built,
- and suggestions to those considering building their own peripherals.
- Compared with many so-called "open systems" of today, the PDP-8 was far
- better documented and far more open.
-
- Finally, the PDP-8 is such a minimal machine that it is an excellent
- introduction to how computers really work. Over the years, many students
- have built complete working PDP-8 systems from scratch as lab projects,
- and the I/O environment on a PDP-8 is simple enough that it is a very
- appropriate environment for learning operating system programming
- techniques.
-
- ------------------------------
-
- Subject: Who's Who?
-
- C. Gordon Bell is generally credited with the original design of the
- PDP-8. He was also involved with recommending what became the PDP-11
- when that design was competing with the design that probably became the
- NOVA, and as vice president of research, he oversaw the development of
- the DEC VAX family.
-
- Alan Kotok worked with Bell in working up the original specifications
- of the PDP-8.
-
- Ben Gurley designed most of the big DEC machines, starting with the
- PDP-1. The actual design work on the -8, however, was done by Ed
- deCastro, who later founded Data General to build the Nova.
-
- Ken Olson ran DEC from the beginning.
-
- Ed Yourdon, who later became well known as a programming methodology
- guru, helped hack up the PAL III assembler for the -8 from PAL II.
-
- Richard Merrill invented FOCAL and wrote the original (1968) and classic
- FOCAL-69 interpreters for the PDP-8.
-
- Charles Lasner developed P?S/8, and he is widely known as the grand old
- man of the movement to preserve these historic machines.
-
- Wesley Clark developed the LINC while working at Lincoln Labs; this was
- the first 12 bit minicomputer built with DEC parts.
-
- Mary Allen Wilkes Clark developed the early LAP programs for the LINC.
-
- Douglas W. Jones wrote this FAQ, but prior to the summer of 1992, he'd
- never used a PDP-8. He has also written a report on how to photocopy
- and archivally bind ailing paperback books such as DEC's handouts, a
- PAL-like cross assembler in C, and a UNIX-based PDP-8 emulator.
-
- ------------------------------
-
- End of PDP-8 Frequently Asked Questions (posted every other month)
- ******************************************************************
-